package cc.rengu.igas.momp.common.dao;

import cc.rengu.igas.momp.common.entity.TMAccountInfo;
import cc.rengu.igas.momp.common.entity.TMMcUserInfo;

/**
 * 营销活动商户规则数据库操作接口定义
 *
 * @author Jinan Liu
 * @version 1.0.0
 * @date 2020/3/26 00:11
 */
public interface McAccountInfoMapper {

    /**
     * 新增单条收银员信息数据库操作接口定义
     *
     * @param tmAccountInfo 收银员信息实体类
     * @return int 返回码
     * @throws Exception 异常信息
     * @author Jinan Liu
     * @date 2020/4/1 23:50
     */
    int insertMcAccountInfo(TMAccountInfo tmAccountInfo) throws Exception;

    /**
     * 使用用户Id和账号检查数据是否存在数据库操作接口定义
     *
     * @param instId 机构号
     * @param userId 用户标识
     * @param acctNo 账号
     * @return java.util.List<cc.rengu.igas.momp.common.entity.TMAccountInfo> 收银员信息表
     * @throws Exception 异常信息
     * @author Jinan Liu
     * @date 2020/4/21 10:30
     */
    TMAccountInfo selectAccountByUserIdAcctNo(String instId, String userId, String acctNo) throws Exception;

    /**
     * 使用用户Id和机构号检查数据是否存在数据库操作接口定义
     *
     * @param instId 机构号
     * @param userId 用户标识
     * @return java.util.List<cc.rengu.igas.momp.common.entity.TMAccountInfo> 收银员信息表
     * @throws Exception 异常信息
     * @author Jinan Liu
     * @date 2020/4/21 10:30
     */
    TMAccountInfo selectMcAccountInfoByInstIdUserId(String instId, String userId) throws Exception;

    /**
     * 使用用户Id和机构号检查数据是否存在数据库操作接口定义
     *
     * @param instId 机构号
     * @param mcNo   活动编号
     * @param acctNo 账号
     * @return java.util.List<cc.rengu.igas.momp.common.entity.TMAccountInfo> 收银员信息表
     * @throws Exception 异常信息
     * @author Jinan Liu
     * @date 2020/4/21 10:30
     */
    TMMcUserInfo selcetMcMchntInfoByInstIdMcNoAcctNo(String instId, String mcNo, String acctNo) throws Exception;

    /**
     * 新增单条营销活动用户信息表数据库操作接口定义
     *
     * @param tmMcUserInfo 营销活动用户信息表实体类
     * @return int 返回码
     * @throws Exception 异常信息
     * @author Jinan Liu
     * @date 2020/4/1 23:50
     */
    int insertMcUserInfo(TMMcUserInfo tmMcUserInfo) throws Exception;

    /**
     * 修改单条收银员信息表数据库操作接口定义
     *
     * @param tmAccountInfo 收银员信息实体类
     * @return int 返回码
     * @throws Exception 异常信息
     * @author ls
     * @date 2020/8/19 16:26
     */
    int updateMcAccountInfo(TMAccountInfo tmAccountInfo) throws Exception;
}
